 |
|
 |
Subject: Notes C API hangs during NotesInitExtended |
 |
 |
 |
Product Area: Notes Client |
 |
Technical Area: Functionality |
 |
Platform: Windows |
 |
Release: 8.5 |
 |
Reproducible: Always |
 |
 |
 |
 |
I have a multithreaded application(called DownloadApp) that tries to download the items in a nsf on the server using the notes C API in each thread. When testing this application with 8.5 server and client came across this problem:
- The download application is working fine on a machine where notes client is installed till all of a sudden it crashes and exits without calling NotesTermThread() for some threads and NotesTerm().
- After this I am not able to start the notes client on this machine unless I kill the nlnotes.exe and its child process.
- After this crash if I try to restart the download application it hangs when calling NotesInitExtended(). Part of the stack trace is provided below.
Thread 17
Current frame: ntdll!KiFastSystemCallRet
ChildEBP RetAddr Caller,Callee
0510cbc0 7739bf53 *** ERROR: Symbol file could not be found. Defaulted to export symbols for user32.dll -
user32!WaitMessage+0xc
0510cbc4 7739610a user32!DefDlgProcW+0x132, calling user32!WaitMessage
0510cbec 7738968a user32!ScrollWindowEx+0x120a, calling user32!ScrollWindowEx+0xeb
0510cbf8 7738969d user32!ScrollWindowEx+0x121d, calling user32!DefDlgProcW+0x4b
0510cc20 7739f762 user32!SoftModalMessageBox+0x6f8, calling user32!ScrollWindowEx+0x1167
0510cd30 77e63235 kernel32!WideCharToMultiByte+0xf2, calling kernel32!LCMapStringW+0x21c
0510cd5c 77e744ec kernel32!Process32Next+0x67, calling kernel32!WideCharToMultiByte
0510cd80 7739dbc0 user32!ClientThreadSetup+0x3b, calling ntdll!RtlLeaveCriticalSection
0510ce28 7c82a124 ntdll!RtlAllocateHeap+0x14e, calling ntdll!tan+0xbe
0510ce34 7c82a0b8 ntdll!RtlAllocateHeap+0xe2, calling ntdll!RtlAllocateHeap+0x13b
0510ce38 7c82a0fc ntdll!RtlAllocateHeap+0x126, calling ntdll!CIpow+0x464
0510ceb0 7c826cdb ntdll!NtCallbackReturn+0xc
0510ceb4 7739df29 user32!GetProcessWindowStation+0x30, calling ntdll!NtCallbackReturn
0510cee0 7739f047 user32!MessageBoxTimeoutW+0x1d9, calling user32!SoftModalMessageBox
0510cf6c 05b204e0 nnotes!CvsprintfEx+0x200, calling nnotes!Cstrncpy
0510cf74 05b204e9 nnotes!CvsprintfEx+0x209, calling nnotes!Cstrlen
0510cfb0 7c826d2b ntdll!NtClose+0xc
0510cfb4 77e63eb3 kernel32!CloseHandle+0x44, calling ntdll!NtClose
0510cfc0 05c8f8ec nnotes!OSUnloadNNotes+0x15c, calling kernel32!CloseHandle
0510d030 7739eec9 user32!MessageBoxTimeoutW+0x5b, calling user32!MessageBoxTimeoutW+0x64
0510d088 773d7cf5 user32!MessageBoxTimeoutA+0x9c, calling user32!MessageBoxTimeoutW
0510d0bc 773c42c8 user32!MessageBoxExA+0x1b, calling user32!MessageBoxTimeoutA
0510d0dc 773c42a4 user32!MessageBoxA+0x45, calling user32!MessageBoxExA
0510d0f8 05c0902e nnotes!MUIInitInterfaceAPIs+0x47e, calling user32!MessageBoxA
0510d13c 0674c654 nnotes!OSLocalShrink+0x169a4, calling ntdll!RtlLeaveCriticalSection
0510d148 06738c90 nnotes!OSLocalShrink+0x2fe0, calling nnotes!OSLocalShrink+0x16980
0510d150 06738c7f nnotes!OSLocalShrink+0x2fcf, calling nnotes!OSLocalShrink+0x2fd1
0510d15c 7c82a771 ntdll!wcslen+0x1f3, calling ntdll!RtlRestoreLastWin32Error+0x52
0510d180 7c82a90a ntdll!wcslen+0x38c, calling ntdll!RtlLeaveCriticalSection
0510d188 7c829f59 ntdll!RtlFreeHeap+0x142, calling ntdll!CIpow+0x464
0510d1c4 7c82776b ntdll!ZwReadFile+0xc
0510d1c8 77e418b2 kernel32!ReadFile+0x67, calling ntdll!ZwReadFile
0510d1ec 77e418d5 kernel32!ReadFile+0x8a, calling kernel32!GetTickCount+0x73
0510d25c 7c829f59 ntdll!RtlFreeHeap+0x142, calling ntdll!CIpow+0x464
0510d260 06744123 nnotes!OSLocalShrink+0xe473, calling ntdll!RtlFreeHeap
0510d284 0674c61a nnotes!OSLocalShrink+0x1696a, calling ntdll!RtlEnterCriticalSection
0510d298 7c826d2b ntdll!NtClose+0xc
0510d2ac 0674c654 nnotes!OSLocalShrink+0x169a4, calling ntdll!RtlLeaveCriticalSection
0510d2b8 06739bd6 nnotes!OSLocalShrink+0x3f26, calling nnotes!OSLocalShrink+0x16980
0510d2c0 06739bcb nnotes!OSLocalShrink+0x3f1b, calling nnotes!OSLocalShrink+0x3f1d
0510d2e8 067433c4 nnotes!OSLocalShrink+0xd714, calling ntdll!RtlLeaveCriticalSection
0510d2f4 06737c79 nnotes!OSLocalShrink+0x1fc9, calling nnotes!OSLocalShrink+0xd700
0510d300 0673648e nnotes!OSLocalShrink+0x7de, calling nnotes!OSLocalShrink+0x1fa0
0510d308 06736483 nnotes!OSLocalShrink+0x7d3, calling nnotes!OSLocalShrink+0x7d5
0510d400 7c82a124 ntdll!RtlAllocateHeap+0x14e, calling ntdll!tan+0xbe
0510d40c 7c82a0b8 ntdll!RtlAllocateHeap+0xe2, calling ntdll!RtlAllocateHeap+0x13b
0510d410 7c82a0fc ntdll!RtlAllocateHeap+0x126, calling ntdll!CIpow+0x464
0510d42c 05b199fb nnotes!OSInitSem+0x6b, calling nnotes!OSInitSpin
0510d46c 05c07a5c nnotes!OSInitExt+0x15c, calling nnotes!MUIInitInterfaceAPIs+0x130
0510d508 7c829fb5 ntdll!RtlGetNtGlobalFlags+0x38, calling ntdll!ExpInterlockedPopEntrySListEnd+0x11
0510d51c 7c829f59 ntdll!RtlFreeHeap+0x142, calling ntdll!CIpow+0x464
0510d550 7c82c724 ntdll!RtlUpcaseUnicodeChar+0x78, calling ntdll!wcslen+0x29
0510d558 7c82c17c ntdll!RtlDetermineDosPathNameType_U+0x2d0, calling ntdll!RtlTimeFieldsToTime+0x6a8
0510d570 7c82c600 ntdll!RtlDetermineDosPathNameType_U+0x754, calling ntdll!RtlLeaveCriticalSection
0510d578 7c82c5ee ntdll!RtlDetermineDosPathNameType_U+0x742, calling ntdll!CIpow+0x464
0510d59c 7c82a90a ntdll!wcslen+0x38c, calling ntdll!RtlLeaveCriticalSection
0510d638 7c82c557 ntdll!RtlDetermineDosPathNameType_U+0x6ab, calling ntdll!RtlLeaveCriticalSection
0510d640 7c82c529 ntdll!RtlDetermineDosPathNameType_U+0x67d, calling ntdll!CIpow+0x464
0510d6f8 7c82a124 ntdll!RtlAllocateHeap+0x14e, calling ntdll!tan+0xbe
0510d704 7c82a0b8 ntdll!RtlAllocateHeap+0xe2, calling ntdll!RtlAllocateHeap+0x13b
0510d708 7c82a0fc ntdll!RtlAllocateHeap+0x126, calling ntdll!CIpow+0x464
0510d718 7c82a124 ntdll!RtlAllocateHeap+0x14e, calling ntdll!tan+0xbe
0510d724 7c82a0b8 ntdll!RtlAllocateHeap+0xe2, calling ntdll!RtlAllocateHeap+0x13b
0510d728 7c82a0fc ntdll!RtlAllocateHeap+0x126, calling ntdll!CIpow+0x464
0510d79c 7c826c9b ntdll!ZwAllocateVirtualMemory+0xc
0510d7a0 7c833c4e ntdll!RtlGetFullPathName_UstrEx+0x391, calling ntdll!ZwAllocateVirtualMemory
0510d7b4 7c82b58e ntdll!wcscpy+0x113, calling ntdll!wcslen+0x47
0510d7d8 7c833a36 ntdll!RtlGetFullPathName_UstrEx+0x179, calling ntdll!wcscpy+0x5e
0510d810 7c82a4e1 ntdll!RtlRestoreLastWin32Error+0x3ab, calling ntdll!RtlLeaveCriticalSection
0510d814 7c82a0fc ntdll!RtlAllocateHeap+0x126, calling ntdll!CIpow+0x464
0510d824 7c829fb5 ntdll!RtlGetNtGlobalFlags+0x38, calling ntdll!ExpInterlockedPopEntrySListEnd+0x11
0510d830 7c829f3d ntdll!RtlFreeHeap+0x126, calling ntdll!RtlGetNtGlobalFlags+0x12
0510d838 7c829f59 ntdll!RtlFreeHeap+0x142, calling ntdll!CIpow+0x464
0510d868 7c829fb5 ntdll!RtlGetNtGlobalFlags+0x38, calling ntdll!ExpInterlockedPopEntrySListEnd+0x11
0510d87c 7c829f59 ntdll!RtlFreeHeap+0x142, calling ntdll!CIpow+0x464
0510d8d4 7c829fb5 ntdll!RtlGetNtGlobalFlags+0x38, calling ntdll!ExpInterlockedPopEntrySListEnd+0x11
0510d8e0 7c829f3d ntdll!RtlFreeHeap+0x126, calling ntdll!RtlGetNtGlobalFlags+0x12
0510d8e8 7c829f59 ntdll!RtlFreeHeap+0x142, calling ntdll!CIpow+0x464
0510d954 77e5079d kernel32!GetPrivateProfileStringW+0x90f, calling ntdll!RtlFreeHeap
0510d994 77e501c2 kernel32!GetPrivateProfileStringW+0x334, calling kernel32!GetTickCount+0x73
0510d9bc 7c829f59 ntdll!RtlFreeHeap+0x142, calling ntdll!CIpow+0x464
0510d9d8 7c829fb5 ntdll!RtlGetNtGlobalFlags+0x38, calling ntdll!ExpInterlockedPopEntrySListEnd+0x11
0510d9e4 7c829f3d ntdll!RtlFreeHeap+0x126, calling ntdll!RtlGetNtGlobalFlags+0x12
0510d9ec 7c829f59 ntdll!RtlFreeHeap+0x142, calling ntdll!CIpow+0x464
0510da34 7c82a0fc ntdll!RtlAllocateHeap+0x126, calling ntdll!CIpow+0x464
0510da38 78ab0269 *** ERROR: Symbol file could not be found. Defaulted to export symbols for msvcr100.dll -
msvcr100!malloc+0x36, calling ntdll!RtlAllocateHeap
0510da58 78ab233b msvcr100!operator new+0x10, calling msvcr100!malloc
0510da60 78ab233b msvcr100!operator new+0x10, calling msvcr100!malloc
0510da74 04a44758 DownloadApp+0x4758, calling msvcr100!operator new
0510da98 78b004ef msvcr100!wgetcwd+0x47, calling msvcr100!unlock
0510dac0 7c829f59 ntdll!RtlFreeHeap+0x142, calling ntdll!CIpow+0x464
0510dac4 78ab016a msvcr100!free+0x1c, calling ntdll!RtlFreeHeap
0510dad8 04a432df DownloadApp+0x32df, calling msvcr100!operator delete
0510daec 04a432fc DownloadApp+0x32fc, calling DownloadApp!PasswordPromptHandler+0x1f86
0510dba4 7c82a0fc ntdll!RtlAllocateHeap+0x126, calling ntdll!CIpow+0x464
0510dbc8 79fdc643 mscorwks!WaitHandleNative::CorWaitOneNative+0x1f2, calling mscorwks!_EH_epilog3
0510dfd4 7c82a0b8 ntdll!RtlAllocateHeap+0xe2, calling ntdll!RtlAllocateHeap+0x13b
0510dfe4 624d27f6 *** WARNING: Unable to verify checksum for nlsccstr.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for nlsccstr.dll -
nlsccstr!EXT_NLS_xlate_string32+0x326, calling *** ERROR: Symbol file could not be found. Defaulted to export symbols for msvcr71.dll -
msvcr71!memcpy
0510e010 05ced247 nnotes!NotesInitIni+0x17, calling nnotes!OSInitExt
0510e0e0 05b771f6 nnotes!OSNativeToLMBCS+0x46, calling nnotes!NLS_xlate_string32
0510e114 05ced4f0 nnotes!NotesInitExtended+0x60, calling nnotes!OSNativeToLMBCS
0510e120 05ced4fc nnotes!NotesInitExtended+0x6c, calling nnotes!NotesInitIni
0510e1b4 04a4a629 DownloadApp!GetNoteOwnerId+0x1da9, calling DownloadApp!GetNoteOwnerId+0x230
0510e1d0 04a41980 DownloadApp+0x1980, calling msvcr100!operator delete[]
0510e1e4 04a4199d DownloadApp+0x199d, calling DownloadApp!PasswordPromptHandler+0x1f86
0510e1f8 7c82a0fc ntdll!RtlAllocateHeap+0x126, calling ntdll!CIpow+0x464
0510e1fc 78ab0269 msvcr100!malloc+0x36, calling ntdll!RtlAllocateHeap
0510e218 78ac5bcf msvcr100!strdup+0x36, calling msvcr100!strcpy_s
0510e234 04a48e93 DownloadApp!GetNoteOwnerId+0x613, calling nnotes!NotesInitExtended
0510e33c 04a4a629 DownloadApp!GetNoteOwnerId+0x1da9, calling DownloadApp!GetNoteOwnerId+0x230
0510e380 7c82a0fc ntdll!RtlAllocateHeap+0x126, calling ntdll!CIpow+0x464
0510e384 78ab0269 msvcr100!malloc+0x36, calling ntdll!RtlAllocateHeap
0510e3a4 78ab233b msvcr100!operator new+0x10, calling msvcr100!malloc
0510e3c0 04a48c0b DownloadApp!GetNoteOwnerId+0x38b, calling msvcr100!operator new
0510e3f0 04a46f9f DownloadApp!InitializeLN+0x10f, calling DownloadApp!GetNoteOwnerId+0x450
Please let me know:
How I can recover programmatically from a crash where I fail to call NotesTerm() and NotesTermThread() apart from killing nlnotes.exe ?
Thank you!
 
Feedback number WEBB8TJFKP created by ~Alexis Minponemarings on 04/20/2012

Status: Open
Comments:

Notes C API hangs during NotesInitE... (~Alexis Minpone... 20.Apr.12)
. . EXE (~Ethan Kijumiko... 23.Apr.12) |
|  |
|